package com.zzw.service;

/**
 * Redis缓存服务接口
 * 定义常用的缓存操作方法
 */
public interface RedisCacheService {
    
    /**
     * 设置缓存（使用默认过期时间）
     * @param key 缓存键
     * @param value 缓存值
     */
    void setCache(String key, Object value);
    
    /**
     * 设置缓存并指定过期时间
     * @param key 缓存键
     * @param value 缓存值
     * @param timeout 过期时间（秒）
     */
    void setCache(String key, Object value, long timeout);
    
    /**
     * 获取缓存
     * @param key 缓存键
     * @return 缓存值
     */
    Object getCache(String key);
    
    /**
     * 删除缓存
     * @param key 缓存键
     */
    void deleteCache(String key);
    
    /**
     * 判断键是否存在
     * @param key 缓存键
     * @return true存在，false不存在
     */
    boolean hasKey(String key);
    
    /**
     * 刷新缓存过期时间（使用默认过期时间）
     * @param key 缓存键
     */
    void refreshExpire(String key);
    
    /**
     * 刷新缓存过期时间并指定新的过期时间
     * @param key 缓存键
     * @param timeout 新的过期时间（秒）
     */
    void refreshExpire(String key, long timeout);
} 